﻿using System.Collections.Generic;
using ch.froorider.NGoogleCalendar.facade.businessObjects;

namespace ch.froorider.NGoogleCalendar.facade
{
	/// <summary>
	/// Contract for the outside world. Is implemented by the "core logic" and defines all the functionlity offered by this 
	/// component.
	/// </summary>
	public interface IGoogleCalendar
	{
		/// <summary>
		/// Gives you a list of all stored users.
		/// </summary>
		/// <returns>List containing all "known" users.</returns>
		List<User> GetAllUsers();

		/// <summary>
		/// Force the application to save a new user profile.
		/// </summary>
		/// <param name="newUser">A user buisness object.</param>
		/// <returns>true, if the user was peristently stored; false if not.</returns>
		bool SaveNewUser(User newUser);
	}
}
